Joey Hess [Thu, 4 Sep 2025 18:23:13 +0000 (14:23 -0400)]
analysis
Joey Hess [Thu, 4 Sep 2025 17:32:12 +0000 (13:32 -0400)]
comment
Joey Hess [Thu, 4 Sep 2025 17:13:54 +0000 (13:13 -0400)]
comment
Joey Hess [Thu, 4 Sep 2025 17:06:12 +0000 (13:06 -0400)]
improve changelog
That bug fix also affects unlock, and it might also affect other
commands.
Joey Hess [Thu, 4 Sep 2025 17:01:59 +0000 (13:01 -0400)]
avoid relatedTemplate ever returning ""
add: Fix crash adding filenames that are exactly 21 bytes long and begin
with a utf-8 character.
Also longer filenames that start with "....." would cause the same crash.
I also audited for other calls to truncateFilePath that could truncate it
to "". Most use pathmax so are not a problem. Backend.Utilities.genKeyName
could possibly truncate it like that, but appends the md5 so would not be a
problem either.
Sponsored-by: Kevin Mueller
yarikoptic [Thu, 4 Sep 2025 02:06:22 +0000 (02:06 +0000)]
Added a comment
yarikoptic [Tue, 2 Sep 2025 15:06:43 +0000 (15:06 +0000)]
Added a comment: odd odd filesystem
guardcat [Tue, 2 Sep 2025 10:42:04 +0000 (10:42 +0000)]
guardcat [Tue, 2 Sep 2025 10:21:27 +0000 (10:21 +0000)]
guardcat [Tue, 2 Sep 2025 10:02:44 +0000 (10:02 +0000)]
guardcat [Tue, 2 Sep 2025 09:32:38 +0000 (09:32 +0000)]
guardcat [Tue, 2 Sep 2025 09:30:30 +0000 (09:30 +0000)]
guardcat [Tue, 2 Sep 2025 08:32:27 +0000 (08:32 +0000)]
Joey Hess [Fri, 29 Aug 2025 16:45:33 +0000 (12:45 -0400)]
drop: --fast support when dropping from a remote
This is the same as --not --in $remote, but easier to type. And the
documentation of --fast helps also document that drop can do extra work
when used without --fast.
Sponsored-by: Nicholas Golder-Manning
Joey Hess [Fri, 29 Aug 2025 15:43:46 +0000 (11:43 -0400)]
add news item for git-annex 10.
20250828
Joey Hess [Fri, 29 Aug 2025 15:43:26 +0000 (11:43 -0400)]
releasing package git-annex version 10.
20250828
Joey Hess [Fri, 29 Aug 2025 15:42:33 +0000 (11:42 -0400)]
comments
Joey Hess [Fri, 29 Aug 2025 15:13:35 +0000 (11:13 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 29 Aug 2025 15:13:29 +0000 (11:13 -0400)]
todo
yarikoptic [Fri, 29 Aug 2025 14:35:04 +0000 (14:35 +0000)]
initial report from ducky
Joey Hess [Thu, 28 Aug 2025 16:33:44 +0000 (12:33 -0400)]
prep release
Joey Hess [Thu, 28 Aug 2025 16:32:16 +0000 (12:32 -0400)]
remove dead code
Joey Hess [Wed, 27 Aug 2025 16:37:07 +0000 (12:37 -0400)]
remove para about conflicts
That was only ever relevant for the v1 upgrade!
Joey Hess [Wed, 27 Aug 2025 16:33:53 +0000 (12:33 -0400)]
reword
Joey Hess [Wed, 27 Aug 2025 16:26:50 +0000 (12:26 -0400)]
fix test suite breakage
640bc43c38e37f0acbc5d83d072af82e4e8cc5fa broke a test. Change that test
to not use encryption=shared. Which required some refactoring.
Sponsored-by: Joshua Antonishen
Joey Hess [Wed, 27 Aug 2025 13:47:19 +0000 (09:47 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 27 Aug 2025 13:42:32 +0000 (09:42 -0400)]
improve docs of annex.youtube-dl-options
The options are used whenever yt-dlp is run, not only when finding the
url to download.
Joey Hess [Wed, 27 Aug 2025 13:29:43 +0000 (09:29 -0400)]
remove youtube-dl support, always use yt-dlp
The annex.youtube-dl-command git config is no longer used, git-annex always
runs the yt-dlp command, rather than the old youtube-dl command.
Sponsored-by: Leon Schuermann
Joey Hess [Wed, 27 Aug 2025 13:11:49 +0000 (09:11 -0400)]
Improved error message when yt-dlp is not installed and is needed to get a file from the web
psxvoid [Wed, 27 Aug 2025 06:46:14 +0000 (06:46 +0000)]
yarikoptic [Tue, 26 Aug 2025 12:58:20 +0000 (12:58 +0000)]
issue resolved
yarikoptic [Tue, 26 Aug 2025 11:41:58 +0000 (11:41 +0000)]
report on failing test
tbabej [Mon, 25 Aug 2025 22:00:49 +0000 (22:00 +0000)]
Added a comment: Wrong place to post
tbabej [Mon, 25 Aug 2025 21:59:30 +0000 (21:59 +0000)]
yarikoptic [Mon, 25 Aug 2025 21:30:56 +0000 (21:30 +0000)]
Added a comment
yarikoptic [Mon, 25 Aug 2025 16:56:00 +0000 (16:56 +0000)]
Added a comment
yarikoptic [Mon, 25 Aug 2025 16:55:33 +0000 (16:55 +0000)]
Added a comment
yarikoptic [Mon, 25 Aug 2025 16:48:56 +0000 (16:48 +0000)]
initial report on copy to be stuck
stv0g [Sun, 24 Aug 2025 11:20:24 +0000 (11:20 +0000)]
Added a comment: Feedback on encryptonlycreds=yes
Added a comment: Download with the git-annex-install script fail
Lukey [Sat, 23 Aug 2025 06:51:16 +0000 (06:51 +0000)]
Added a comment
Joey Hess [Fri, 22 Aug 2025 17:35:33 +0000 (13:35 -0400)]
reject an insecure configuration
A user might expect onlyencryptcreds=yes to do some useful encryption of
the creds despite using encryption=shared. Prevent them from thinking
they have somehow secured the creds in their repository in that case.
Also reject onlyencryptcreds=yes encryption=none in case the user
somehow thinks there is creds-only encryption going on in that case.
Sponsored-by: Graham Spencer
Joey Hess [Fri, 22 Aug 2025 17:14:02 +0000 (13:14 -0400)]
fix specialRemote confusion with tahoe
tahoe: Fix bug that made initremote require an encryption= parameter,
despite git-annex encryption not being used with this special remote,
since tahoe handles encryption itself.
The chunking parameters were also accepted and won't be any longer either.
They were also not actually used.
c4ea3ca40ae6ba973287ca94e892e93973a8376e was the commit. At that point
specialRemote was being added to most remotes and I forgot tahoe doesn't
need these parameters.
Turns out that, when embedcreds=yes was used, it did *not* cause the
introducer-furl and shared-convergence-secret to be encrypted, even
though encryption= was specified. Which is only not a security hole
because encryption= was not documented to work with the tahoe special
remote at all!
It might be nice to support onlyencryptcreds=yes with tahoe, and it
would make sense to accept the encryption= parameter then, and only use
it for encrypting the creds. That would take some work, since the
encryption= parameter would need to be optional, and the usual encrypted
special remote code couldn't be used.
Sponsored-by: unqueued
Joey Hess [Fri, 22 Aug 2025 16:59:44 +0000 (12:59 -0400)]
don't refer to tahoe daemon
since tahoe no longer supports daemonization
Joey Hess [Fri, 22 Aug 2025 16:59:06 +0000 (12:59 -0400)]
error message typo
Joey Hess [Fri, 22 Aug 2025 16:58:23 +0000 (12:58 -0400)]
fix disrectory name
Joey Hess [Fri, 22 Aug 2025 16:54:43 +0000 (12:54 -0400)]
showOutput
tahoe store and retrieve both output messages which cannot be shut up with
--quiet. The messages go to stderr, which makes it hard to avoid
displaying them without hiding problems. This kinda sucks.
Using showOutput helps with output formatting, but with -J this output
is still scrambled in with the progress output.
Joey Hess [Fri, 22 Aug 2025 16:35:53 +0000 (12:35 -0400)]
tahoe: Support tahoe-lafs command versions newer than 1.16
tahoe start was deprecated and removed in 2020.
This feels like a very janky way to run a daemon, but it does work.
Sponsored-by: k0ld
Joey Hess [Fri, 22 Aug 2025 00:32:10 +0000 (20:32 -0400)]
comment
Joey Hess [Thu, 21 Aug 2025 20:38:00 +0000 (16:38 -0400)]
reorder
Joey Hess [Thu, 21 Aug 2025 20:35:51 +0000 (16:35 -0400)]
update test suite for change
fd89e611b2310b46368c91bcd79999b0ba8462a3 changed the exit code of
git-annex sync which broke the test suite
I'm actually a bit surprised that this test's export works after the
sync fails. huh
Joey Hess [Thu, 21 Aug 2025 20:21:12 +0000 (16:21 -0400)]
add test case for enableremote changing encryption
As fixed in
6b63fb7ea29f39b0fe7632dae6951c589115ee37
Sponsored-by: Brock Spratlen
Joey Hess [Thu, 21 Aug 2025 17:47:50 +0000 (13:47 -0400)]
prevent changing onlyencryptcreds of existing remote
That would break accessing data already stored in the remote, the same
as changing encryption type would do.
Sponsored-by: Jack Hill
Joey Hess [Thu, 21 Aug 2025 17:41:00 +0000 (13:41 -0400)]
Don't allow the type of encryption of an existing special remote to be changed.
eg, git-annex enableremote foo encryption=none will not remove encryption,
and other encryption= settings don't change the type of encryption used.
Either of which would render data stored in a special remote inaccessible.
Probably fixes reversion introduced in
71f78fe45dc91dbef0bedd79b33d6a9fed85704d.
That commit got rid of the hasEncryptionConfig check, which I think would
have detected this before. I've not gone back to verify that.
Sponsored-by: mycroft
Joey Hess [Thu, 21 Aug 2025 15:20:20 +0000 (11:20 -0400)]
Removed support for git versions older than 2.22.
Which fixed an OOM with unlocked files.
Debian oldoldstable is the oldest version of git that git-annex needs to
support, since it's used in the amd64ancient build. That has 2.30.
At this point, the only complication git-annex for an bug in old
versions of git is that git bundle was broken before git 2.31.
That prevents git-remote-annex from working with git 2.30.
Sponsored-by: Luke T. Shumaker
Joey Hess [Thu, 21 Aug 2025 15:14:19 +0000 (11:14 -0400)]
cleanup too long line
Joey Hess [Thu, 21 Aug 2025 15:05:41 +0000 (11:05 -0400)]
remove git version check for adjusted branch
2686d2d7ea44d9b5d8243da6fc9f2df1d2441a71 made git older than 2.5 not be
supported, so this check for an older version is not longer needed.
Sponsored-by: Kevin Mueller
Joey Hess [Thu, 21 Aug 2025 15:04:26 +0000 (11:04 -0400)]
Removed support for git versions older than 2.5.
This entirely removes Git.BuildVersion, which avoids the possibility that
git-annex will behave differently based on the version of git it was built
with, rather than the version it's used with.
Debian oldoldstable is the oldest version of git that git-annex needs to
support, since it's used in the amd64ancient build.
cabal configure will fail if the git version is too old.
Sponsored-by: Nicholas Golder-Manning
Joey Hess [Wed, 20 Aug 2025 19:14:01 +0000 (15:14 -0400)]
onlyencryptcreds=yes
initremote: When onlyencryptcreds=yes is used along with embedcreds=yes,
and encryption is enabled, only encrypt the embedded creds, without
encrypting the content of the special remote.
Useful for exporttree=yes/importtree=yes remotes.
Sponsored-by: Joshua Antonishen
Joey Hess [Wed, 20 Aug 2025 18:58:44 +0000 (14:58 -0400)]
bug
Joey Hess [Wed, 20 Aug 2025 18:35:27 +0000 (14:35 -0400)]
bug
Joey Hess [Wed, 20 Aug 2025 18:23:03 +0000 (14:23 -0400)]
remove now unused parameters
Joey Hess [Wed, 20 Aug 2025 18:16:29 +0000 (14:16 -0400)]
comment
Joey Hess [Wed, 20 Aug 2025 17:36:39 +0000 (13:36 -0400)]
fixed
Joey Hess [Wed, 20 Aug 2025 17:35:31 +0000 (13:35 -0400)]
improve error when unable to reverse adjust merge
Give the user a hint about what to do, as well as what they should have
done to avoid the problem.
Joey Hess [Wed, 20 Aug 2025 17:28:03 +0000 (13:28 -0400)]
error out when another branch has been manually merged into the adjusted branch
This avoids losing the merge commit when re-running git-annex adjust in the
adjusted branch.
It also makes git-annex sync error out, rather than displaying a warning
and exiting successfully.
Sponsored-by: Leon Schuermann on Patreon
Joey Hess [Wed, 20 Aug 2025 16:31:35 +0000 (12:31 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
jcjgraf [Mon, 18 Aug 2025 19:02:35 +0000 (19:02 +0000)]
Added a comment: Reproduce Issue
stv0g [Mon, 18 Aug 2025 17:07:40 +0000 (17:07 +0000)]
Added a comment: encryption=credsonly
Joey Hess [Fri, 15 Aug 2025 22:11:19 +0000 (18:11 -0400)]
bug
Joey Hess [Fri, 15 Aug 2025 15:54:42 +0000 (11:54 -0400)]
update
Joey Hess [Thu, 14 Aug 2025 15:05:42 +0000 (11:05 -0400)]
warn and refuse to autoenable a special remote when name is in use
Improve behavior when there are special remotes configured with
autoenable=yes with names that conflict with other remotes.
The use of remoteList' is to avoid using the cached remote list in the case
where there are two special remotes both configured to autoenable and both
with the same name. Once the 1st is autoenabled, this makes reload the
remote list and so see the 1st, and so refuse to autoenable the second.
This adds a little bit of overhead, but it should be sufficiently small not
to need optimising.
Sponsored-by: Dartmouth College's OpenNeuro project
Joey Hess [Thu, 14 Aug 2025 14:15:29 +0000 (10:15 -0400)]
followup
Joey Hess [Thu, 14 Aug 2025 13:56:15 +0000 (09:56 -0400)]
close
Joey Hess [Thu, 14 Aug 2025 13:22:44 +0000 (09:22 -0400)]
simplify
Joey Hess [Wed, 13 Aug 2025 20:49:21 +0000 (16:49 -0400)]
info: Added --show option
To pick which parts of the info to calculate and display.
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Wed, 13 Aug 2025 20:04:46 +0000 (16:04 -0400)]
comment
Joey Hess [Wed, 13 Aug 2025 19:33:42 +0000 (15:33 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 13 Aug 2025 19:33:39 +0000 (15:33 -0400)]
close
Joey Hess [Wed, 13 Aug 2025 19:30:47 +0000 (15:30 -0400)]
Bump aws build dependency to 0.24.1
That's the version in Debian stable now. And this removes a lot of ifdefs.
Also I'm pretty sure a recent commit broke building with older versions of
aws, although that could be fixed with sufficent testing.
Joey Hess [Wed, 13 Aug 2025 19:21:22 +0000 (15:21 -0400)]
probe AWS datacenter
S3: When initremote is given the name of a bucket that already exists,
automatically set datacenter to the right value, rather than needing it to
be explicitly set.
This needs aws-0.23. But, initremote stores the datacenter value, so
a remote set up this way can be used with git-annex built with an older aws.
This is not done when signature=anonymous, because in that case,
using AWS.defaultRegion works fine for accessing buckets on other
datacenters.
It feels a bit round-about to need to do this probing. But without it,
the problem seems to be that, with a v4 signature, the location constraint
is included in the Authorization header. When that is the wrong location,
AWS S3 rejects it. I do wonder though if there is an easier way that I
am currently missing.
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Wed, 13 Aug 2025 18:19:36 +0000 (14:19 -0400)]
fix default region reversion
Commit
215640096f6a3469c119d50373f3035cf19fe130 caused the default
region for S3 to change to us-east-2. This was due to regionInfo having
an undocumented property that the first item in the list is for the
default region.
Avoid relying on regionInfo for defaultRegion.
Sponsored-by: Dartmouth College's DANDI project
yarikoptic [Wed, 13 Aug 2025 17:49:20 +0000 (17:49 +0000)]
wishlist of faster/specific info for a remote
Joey Hess [Wed, 13 Aug 2025 17:18:35 +0000 (13:18 -0400)]
S3: Default to signature=v4 when using an AWS endpoint
* S3: Default to signature=v4 when using an AWS endpoint, since some
AWS regions need v4 and all support it. When host= is used to specify
a different S3 host, the default remains signature=v2.
* webapp: Support setting up S3 buckets in regions that need v4
signatures.
For the webapp, went ahead and added all current S3 regions
(except govcloud, which is not usable by everyone).
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Wed, 13 Aug 2025 16:51:27 +0000 (12:51 -0400)]
document "anonymous" in ValueDesc
Joey Hess [Wed, 13 Aug 2025 16:50:05 +0000 (12:50 -0400)]
comment
Joey Hess [Tue, 12 Aug 2025 18:26:29 +0000 (14:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Michael [Mon, 11 Aug 2025 03:37:34 +0000 (03:37 +0000)]
Joey Hess [Fri, 8 Aug 2025 20:10:47 +0000 (16:10 -0400)]
add https://pypi.org/project/git-annex-remote-internxt/
Joey Hess [Fri, 8 Aug 2025 20:10:02 +0000 (16:10 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
evgeni [Fri, 8 Aug 2025 12:49:42 +0000 (12:49 +0000)]
Added a comment: repodata is empty again :(
Joey Hess [Mon, 4 Aug 2025 18:28:47 +0000 (14:28 -0400)]
stack.yaml: Update to lts-24.2.
nobodyinperson [Mon, 4 Aug 2025 08:22:12 +0000 (08:22 +0000)]
Add YouTube link
Updated the S3-special-remote example and prose based on recent B2 experience
Joey Hess [Fri, 1 Aug 2025 17:57:50 +0000 (13:57 -0400)]
comment
Joey Hess [Fri, 1 Aug 2025 17:55:38 +0000 (13:55 -0400)]
reword
Joey Hess [Fri, 1 Aug 2025 17:52:29 +0000 (13:52 -0400)]
link to new page
Joey Hess [Fri, 1 Aug 2025 17:51:25 +0000 (13:51 -0400)]
add section on security
Joey Hess [Fri, 1 Aug 2025 17:46:53 +0000 (13:46 -0400)]
inline didn't work due to extension